<?php
/**
 * Obtiene una conexion con el servidor de bases de datos utilizando
 * los datos configurados en el archivo /conf/config.php.inc
 * @return 
 */
function start_sybmas_connection(){
	$conn = @sybase_connect(SYBASE_SERVER_NAME,SYBASE_SYBMAS_USER,SYBASE_SYBMAS_PASSWORD,null,SYBASE_APPNAME			);
	if($conn){
		@sybase_select_db(SYBMAS_DATABASE_NAME);
		sybase_set_message_handler("msg_handler",$conn);
	}
	return $conn;
}

/**
 * Obtiene una conexión con el servidor de bases de datos utilizando 
 * el nombre de usuario y password 
 * proporcionados como parámetros
 * @param $user
 * @param $password
 * @return unknown_type
 */
function start_sybuser_connection($user,$password){	
	$conn=@sybase_connect(SYBASE_SERVER_NAME,$user,$password,null,SYBASE_APPNAME);
	if($conn){
		sybase_set_message_handler("msg_handler",$conn);
	}
	return $conn;
}

/**
 * Obtiene una conexión con el servidor de bases de datos utilizando 
 * las variables de sesion $_SESSION['sybmas.user.name'] y
 * $_SESSION['sybmas.user.password']
 * @return unknown_type
 */
function start_default_sybuser_connection(){
		if(array_key_exists('sybmas.user.name',$_SESSION)&&
		array_key_exists('sybmas.user.password',$_SESSION)){				
			$user=$_SESSION['sybmas.user.name'];
			$password=$_SESSION['sybmas.user.password'];
		}else{
			return false;
		}		
	$conn=start_sybuser_connection($user,$password);
	return $conn;
}

function msg_handler($msgnumber, $severity, $state, $line, $text){
        echo $text;
}

function void_msg_handler($msgnumber, $severity, $state, $line, $text){
}

function verificar_instalacion_bd(){
	if(!array_key_exists('sybmas.installation.installed',$_SESSION)||
			!$_SESSION['sybmas.installation.installed']){
		$installed=true;
		$isNew=false;
		
		$tables=array('sybmas_accionPermiso','sybmas_modulo','sybmas_opcionModulo','sybmas_permisoObjeto',
			'sybmas_respaldo','sybmas_rolesOpcionModulo','sybmas_tipoPermiso','sybmas_tipoRespaldo');
		
		$connection=start_sybmas_connection();
		
		$query="SELECT name FROM ".
			SYBMAS_DATABASE_NAME."..sysobjects ".
			"WHERE name LIKE 'sybmas_%'";

		$result=sybase_query($query,$connection);
		while($data=sybase_fetch_array($result)){
			$name=$data['name'];
			$index=array_search($name,$tables);
			if(!is_bool($index)){
				$installed=false;
			}else{
				$isNew=false;
			}			
		}
		
		$_SESSION['sybmas.installation.installed']=$installed;
		$_SESSION['sybmas.installation.isNew']=$isNew;		
	}
}

?>